package org.epanetgrid.otimizacao.ag;

import java.util.Comparator;

import org.jheuristics.Individual;

/**
 *	Efetua comparacao dos indiv�duos sem considerar a viabilidade
 *
 * @author Marcell Manfrin, marcell at ourgrid.org, 2005
 */
public class IgnoraViabilidadeIndividualComparator implements Comparator {


	/**
	 * 
	 * @param o1 individuo 1
	 * @param o2 individuo 2
	 * @return Retorna o resultado da comparacao desconsideranco a viabilidade dos
	 * individuos
	 */
	public int compare(Object o1, Object o2) {
		SimpleFitness fitness = (SimpleFitness) ((Individual) o1).getFitness();
		SimpleFitness otherFit = (SimpleFitness) ((Individual) o2).getFitness();
        if (null == fitness) {
            if (null == otherFit) {
                return 0;
            }
            return -1;
        }
        if (null == otherFit) {
            return +1;
        }
        return new Double(fitness.toDouble()).compareTo(new Double(otherFit.toDouble()));
	}

}
